package com.gator.desig_mode.flyweigth;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
 * @author 何章怀晓 hezhanghuaixiao
 * @version V1.0
 * @desc 工厂，负责创建对应实例并添加到集合
 */
public class WebSiteFactory {

  private HashMap<Integer, WebSite> map = new HashMap<>();


  public WebSiteFactory() {

  }

  //---------------------


  //池化 根据标记保存对应对象，并保证对象只有一份
  public WebSite getWebSite(Integer flag) {

    if (!map.containsKey(flag)) {
      if (flag == 0) {
        map.put(flag, new H5(flag));
      }
      if (flag == 1) {
        map.put(flag, new App(flag));
      }
    }
    return map.get(flag);
  }


  //获取池中有多少个类型
  public int getTypeNum() {
    return map.size();
  }

}
